Optimized predictive routing and methods

ABSTRACT

The methods, apparatus, and systems described herein facilitate optimizing routing decisions. The methods include retrieving and/or predicting a profile of a current customer and future customers, determining which agents are currently available and which agents are expected to be available, and providing a routing recommendation based on the profile retrieval or prediction for the current customer and the future customers, and the currently available agents&#39; and expected available agents&#39; proficiency at handling customers with the retrieved and/or predicted profiles.

This application is a continuation of U.S. application Ser. No.13/903,559 filed May 28, 2013, the entire contents of which is herebyincorporated here in its entirety by express reference thereto.

TECHNICAL FIELD

The present disclosure generally relates to a method, apparatus, andsystem for routing customer communications, and more particularly tooptimizing routing recommendations based on retrieved and/or predictedcustomer profiles and agent availability.

BACKGROUND OF THE DISCLOSURE

Call-routing ability and efficiency is important. The time it takes toconnect a caller to an agent affects customer satisfaction and hencebusiness image. Mistakes in routing, connecting callers for example tooverloaded centers or to agents not prepared to help with the client'sdifficulty or desire, is troublesome.

Automatic call distribution systems are known. Often an organizationdisseminates a single telephone number to its customers and to thepublic in general as a means of contacting the organization. As callsare directed to the organization from the public switch telephonenetwork, the automatic call distribution system directs the calls to itsagents based upon some type of criteria. For example, where all agentsare considered equal, the automatic call distributor may distribute thecalls based upon which agent has been idle the longest.

Automatic call distributors are used in communications handling centers,such as telephone call centers, that forward incoming communications,such as telephone calls, for processing by one of several associatedcall-handling agents. Other communications centers may be used toforward voice-over-internet protocol communications; electronic mailmessages; facsimiles or the like, to associated handling agents.

One concern in designing an automatic call distributor system isensuring that calls are efficiently routed to an agent, so as tominimize the amount of time that any particular call is placed on hold.One basic technique of minimizing on-hold time is to employ afirst-in/first-out call handling technique. The first-in/first-outtechnique requires that calls be routed to the next available agent inthe order in which the calls are received. In many cases, however, thefirst-in/first-out technique is not appropriate. For example, there maybe agents with specialized knowledge or expertise. Utilizing afirst-in/first-out technique in such a situation is inappropriatebecause a caller with a specific question related to a specific area maybe routed to an agent not having specialized knowledge in that area.Moreover, even within a group of generally equally skilled agents, thereis performance variability that conventional muting techniques cannotaccount for without becoming inefficient. Improvements in routingtechniques and speeds are therefore needed.

SUMMARY

While the traditional goal of a contact center is to plan, staff, andmanage around how quickly a customer contact is answered, the presentdisclosure seeks in one embodiment to manage a tradeoff between theaverage speed of an answer and a better agent for taking a call. Acustomer calls, or otherwise communicates with a contact center. Theprofile of the customer is retrieved and/or predicted using, forexample, identifying origination data from the customer communication.The profile of a future customer is also predicted. Agents currentlyavailable to handle the customer communication are determined andranked. Agents that are expected to be available in the future aredetermined and ranked. A routing recommendation is provided based on theretrieved and/or predicted profiles of the current and future customersand the currently available agents' and expected available agents'proficiency at handling customers with the retrieved and/or predictedprofiles.

The systems, apparatus, and methods disclosed herein may be used todistribute customer tasks or communications to an agent based onretrieved and/or predicted customer profile and other factors, whiletaking into account future customers. The present disclosure describeshow to efficiently route customer communications, increase customersatisfaction, and maximize contact center performance.

In a first aspect, the invention encompasses a system adapted tooptimize the routing of incoming customer communications that includes anode comprising a processor and a computer readable medium operablycoupled thereto, the computer readable medium comprising a plurality ofinstructions stored in association therewith that are accessible to, andexecutable by, the processor, where the plurality of instructionsincludes, instructions, that when executed, receive a customer task,instructions, that when executed, retrieve or predict a first profile ofthe customer associated with the customer communication and predict asecond profile of a future customer, and instructions, that whenexecuted, provide a routing recommendation modified by (including beingbased on) retrieved and/or predicted customer profiles, and currentlyavailable agents' and expected available agents' proficiency at handlingcustomers with the retrieved and/or predicted profiles.

In a second aspect, the invention encompasses a system for optimizingthe routing of incoming customer communications, that includes adatabase module to retrieve or predict a first profile of a currentcustomer and predict a second profile of a future customer,respectively, based on historical customer communications and/oridentifying origination data, a governor module to monitor agent workload and provide a list of currently available agents and expectedavailable agents, and a routing module to match customer communicationsto agents based on the retrieved and/or predicted first and secondprofiles of the current and future customers and the currently availableagents' and expected available agents' proficiency at handling customerswith the retrieved and/or predicted profiles.

In a third aspect, the invention encompasses a method to optimizerouting incoming customer communications that includes, receiving acustomer communication, retrieving or predicting a first profile of thecustomer associated with the customer communication, predicting a secondprofile of a future customer, determining which agents of a plurality ofagents are currently available and which agents of the plurality ofagents are expected to be available, and providing a routingrecommendation based on the first and second profiles retrieved and/orpredicted and the plurality of currently available agents' and pluralityof expected available agents' proficiency at handling customers with theretrieved and/or predicted personality profiles.

In a fourth aspect, the invention encompasses a computer readable mediumcomprising a plurality of instructions that includes instructions, thatwhen executed, receive a customer communication, instructions, that whenexecuted, retrieve or predict a first profile of the customer associatedwith the customer communication and predict a second profile of a futurecustomer, instructions, that when executed, determine which agents arecurrently available and which agents are expected to be available,instructions, that when executed, determine the currently availableagents' and expected available agents' proficiency at handling customerswith the predicted second profiles, and instructions, that whenexecuted, provide a recommendation that directs the customercommunication to an agent based on the retrieved and/or predicted firstand second profiles of the current customer and future customer and theavailable agents' proficiency at handling customers with the retrievedand/or predicted first and second profiles.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is best understood from the following detaileddescription when read with the accompanying figures. It is emphasizedthat, in accordance with the standard practice in the industry, variousfeatures are not drawn to scale. In fact, the dimensions of the variousfeatures may be arbitrarily increased or reduced for clarity ofdiscussion.

FIG. 1 is a simplified block diagram of an embodiment of a contactcenter according to various aspects of the present disclosure.

FIG. 2 is a more detailed block diagram of the contact center of FIG. 1according to aspects of the present disclosure.

FIG. 3 is simplified block diagram of an embodiment of a contact center,analytics center, and a system for routing customer communicationsaccording to various aspects of the present disclosure.

FIG. 4 is a flowchart illustrating a preferred method of optimizing therouting of customer communications according to aspects of the presentdisclosure.

FIG. 5 is a block diagram of a computer system suitable for implementingone or more components in FIG. 3 according to one embodiment of thepresent disclosure.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present disclosure advantageously provides for methods of optimizingthe routing of incoming customer communications. These methods typicallyinclude receiving a customer communication, predicting or retrieving aprofile of the customer associated with the customer communication,predicting a profile of a future customer, determining which agents arecurrently available and which agents are expected to be available, andproviding a routing recommendation, which is typically based on theprofile predictions of the current customer and the future customer orbased on the retrieved customer profile of the current customer and thepredicted profile of the future customer, and the currently availableagents' and the expected available agents' proficiency at handlingcustomers with the retrieved and/or predicted profiles.

Systems and apparatuses for carrying out these methods are also part ofthe present disclosure. An exemplary system to route incoming customercommunications and tasks includes, for example, a node including aprocessor and a computer readable medium operably coupled thereto, thecomputer readable medium comprising a plurality of instructions storedin association therewith that are accessible to, and executable by, theprocessor, where the plurality of instructions includes instructions,that when executed, receive a customer communication, provide a list ofcurrently available agents and a list of expected available agents, andprovide a routing recommendation modified by (including being based on)predicted customer profiles of current and future customers or retrievedcustomer profiles of current customers and predicted profiles of futurecustomers, and currently available agents' and expected availableagents' proficiency at handling customers with the predicted orretrieved profiles.

For the purposes of promoting an understanding of the principles of thepresent disclosure, reference will now be made to the embodimentsillustrated in the drawings, and specific language will be used todescribe the same. It is nevertheless understood that no limitation tothe scope of the disclosure is intended. Any alterations and furthermodifications to the described devices, systems, and methods, and anyfurther application of the principles of the present disclosure arefully contemplated and included within the present disclosure as wouldnormally occur to one of ordinary skill in the art to which thedisclosure relates. In particular, it is fully contemplated that thefeatures, components, and/or steps described with respect to oneembodiment may be combined with the features, components, and/or stepsdescribed with respect to other embodiments of the present disclosure.For the sake of brevity, however, the numerous iterations of thesecombinations will not be described separately.

FIG. 1 is a simplified block diagram of an embodiment of a contactcenter 100 according to various aspects of the present disclosure. A“contact center” as used herein can include any facility or systemserver suitable for receiving and recording electronic communicationsfrom customers. Such customer communications can include, for example,telephone calls, facsimile transmissions, c-mails, web interactions,voice over IP (“VoiP”) and video. Various specific types ofcommunications contemplated through one or more of these channelsinclude, without limitation, email, SMS data (e.g., text), tweet,instant message, web-form submission, smartphone app, social media data,and web content data (including but not limited to internet survey data,blog data, microblog data, discussion forum data, and chat data), etc.In some embodiments, the communications can include customer tasks, suchas taking an order, making a sale, responding to a complaint, etc. Invarious aspects, real-time communication, such as voice, video, or both,is preferably included. It is contemplated that these communications maybe transmitted by and through any type of telecommunication device andover any medium suitable for carrying data. For example, thecommunications may be transmitted by or through telephone lines, cable,or wireless communications. As shown in FIG. 1, the contact center 100of the present disclosure is adapted to receive and record varyingelectronic communications and data formats that represent an interactionthat may occur between a customer (or caller) and a contact center agentduring fulfillment of a customer and agent transaction. In oneembodiment, the contact center 100 records all of the customer calls inuncompressed audio formats. In the illustrated embodiment, customers maycommunicate with agents associated with the contact center 100 viamultiple different communication networks such as a public switchedtelephone network (PSTN) 102 or the Internet 104. For example, acustomer may initiate an interaction session through traditionaltelephones 106, a fax machine 108, a cellular (i.e., mobile) telephone110, a personal computing device 112 with a modem, or other legacycommunication device via the PSTN 102. Further, the contact center 100may accept internet-based interaction sessions from personal computingdevices 112. VoIP telephones 114, and internet-enabled smartphones 116and personal digital assistants (PDAs).

Often, in contact center environments such as contact center 100, it isdesirable to facilitate routing of customer contacts, particularly basedon agent availability, prediction of profile (e.g., personality type) ofthe customer occurring in association with a customer interaction, be ita telephone-based interaction, a web-based interaction, or other type ofelectronic interaction over the PSTN 102 or Internet 104. Traditionally,limited categories of customer data are used to create predictivemodels. As a result, such models tend not to be as accurate as possiblebecause of limited data inputs and because of the heterogeneous natureof interaction data collected across multiple different communicationchannels.

As one of ordinary skill in the art would recognize, the illustratedexample of communication channels associated with a contact center 100in FIG. 1 is just an example, and the contact center may accept customerinteractions, and other analyzed interaction information and/or routingrecommendations from an analytics center, through various additionaland/or different devices and communication channels whether or notexpressly described herein.

For example, in some embodiments, internet-based interactions and/ortelephone-based interactions may be routed through an analytics center120 before reaching the contact center 100 or may be routedsimultaneously to the contact center and the analytics center (or evendirectly and only to the contact center). In some instances, theanalytics center 120 is a third-party analytics company that capturesmulti-channel interaction data associated with the contact center 100and applies predictive analytics to the data to generate actionableintelligence for the contact center. For example, the analytics center120 may provide a routing recommendation according to the presentdisclosure, a database module to associate identifying origination dataof a current customer with a pre-existing customer profile and/orgenerate a prediction of a profile (e.g., personality type) of thecustomer and a future customer, a governor module to monitor agent workload and provide a list of currently available agents and expectedavailable agents, and a routing module to match customer communicationsto currently available agents and expected available agents based on thepredicted customer profile or pre-existing customer profile of thecurrent customer and predicted customer profile of the future customer,and the currently available agents' and expected available agents'proficiency at handling customers with the pre-existing or predictedprofiles (e.g., personality type), or any combination thereof, as wellas providing all of the above functionality. Also, in some embodiments,internet-based interactions may be received and handled by a marketingdepartment associated with either the contact center 100 or analyticscenter 120. The analytics center 120 may be controlled by the sameentity or a different entity than the contact center 100. Further, theanalytics center 120 may be a part of, or independent of, the contactcenter 100.

FIG. 2 is a more detailed block diagram of an embodiment of the contactcenter 100 according to aspects of the present disclosure. As shown inFIG. 2, the contact center 100 is communicatively coupled to the PSTN102 via a distributed private branch exchange (PBX) switch 130. The PBXswitch 130 provides an interface between the PSTN 102 and a local areanetwork (LAN) 132 within the contact center 100. In general, the PBXswitch 130 connects trunk and line station interfaces of the PSTN 102 tocomponents communicatively coupled to the LAN 132. The PBX switch 130may be implemented with hardware or virtually. A hardware-based PBX maybe implemented in equipment located local to the user of the PBX system.In contrast, a virtual PBX may be implemented in equipment located at acentral telephone service provider that delivers PBX functionality as aservice over the PSTN 102. Additionally, in one embodiment, the PBXswitch 130 may be controlled by software stored on a telephony server134 coupled to the PBX switch. In another embodiment, the PBX switch 130may be integrated within telephony server 134. The telephony server 134incorporates PBX control software to control the initiation andtermination of connections between telephones within the contact center100 and outside trunk connections to the PSTN 102. In addition, thesoftware may monitor the status of all telephone stations coupled to theLAN 132 and may be capable of responding to telephony events to providetraditional telephone service. In certain embodiments, this may includethe control and generation of the conventional signaling tones includingwithout limitation dial tones, busy tones, ring back tones, as well asthe connection and termination of media streams between telephones onthe LAN 132. Further, the PBX control software may programmaticallyimplement standard PBX functions such as the initiation and terminationof telephone calls, either across the network or to outside trunk lines,the ability to put calls on hold, to transfer, park and pick up calls,to conference multiple callers, and to provide caller ID information.Telephony applications such as voice mail and auto attendant may beimplemented by application software using the PBX as a network telephonyservices provider.

In one embodiment, the telephony server 134 includes a trunk interfacethat utilizes conventional telephony trunk transmission supervision andsignaling protocols required to interface with the outside trunkcircuits from the PSTN 102. The trunk lines carry various types oftelephony signals such as transmission supervision and signaling, audio,fax, or modem data to provide plain old telephone service (POTS). Inaddition, the trunk lines may carry other communication formats such T1,ISDN or fiber service to provide telephony or multimedia data images,video, text or audio.

The telephony server 134 includes hardware and software components tointerface with the LAN 132 of the contact center 100. In one embodiment,the LAN 132 may utilize IP telephony, which integrates audio and videostream control with legacy telephony functions and may be supportedthrough the H.323 protocol. H.323 is an International TelecommunicationUnion (ITU) telecommunications protocol that defines a standard forproviding voice and video services over data networks. H.323 permitsusers to make point-to-point audio and video phone calls over a localarea network. IP telephony systems can be integrated with the publictelephone system through an IP/PBX-PSTN gateway, thereby allowing a userto place telephone calls from an enabled computer. For example, a callfrom an IP telephony client within the contact center 100 to aconventional telephone outside of the contact center would be routed viathe LAN 132 to the IP/PBX-PSTN gateway. The IP/PBX-PSTN gateway wouldthen translate the H.323 protocol to conventional telephone protocol androute the call over the PSTN 102 to its destination. Conversely, anincoming call from a customer over the PSTN 102 may be routed to theIP/PBX-PSTN gateway, which translates the conventional telephoneprotocol to H.323 protocol so that it may be routed to a VoIP-enablephone or computer within the contact center 100.

The contact center 100 is further communicatively coupled to theInternet 104 via hardware and software components within the LAN 132.One of ordinary skill in the art would recognize that the LAN 132 andthe connections between the contact center 100 and external networkssuch as the PSTN 102 and the Internet 104 as illustrated by FIG. 2 havebeen simplified for the sake of clarity and the contact center mayinclude various additional and/or different software and hardwarenetworking components such as routers, switches, gateways, networkbridges, hubs, and legacy telephony equipment.

In various embodiments, the contact center 100 includes a communicationdistributor that distributes customer communications or tasks to agents.Generally, the communication distributor is part of a switching systemdesigned to receive customer communications and queue them. In addition,the communication distributor distributes communications to agents orspecific groups of agents according to a prearranged scheme.

As shown in FIG. 2, the contact center 100 includes a plurality of agentworkstations 140 that enable agents employed by the contact center 100to engage in customer interactions over a plurality of communicationchannels. In one embodiment, each agent workstation 140 may include atleast a telephone and a computer workstation. In other embodiments, eachagent workstation 140 may include a computer workstation that providesboth computing and telephony functionality. Through the workstations140, the agents may engage in telephone conversations with the customer,respond to email inquiries, receive faxes, engage in instant messageconversations, respond to website-based inquires, video chat with acustomer, and otherwise participate in various customer interactionsessions across one or more channels. Further, in some embodiments, theagent workstations 140 may be remotely located from the contact center100, for example, in another city, state, or country. Alternatively, insome embodiments, an agent may be a software-based applicationconfigured to interact in some manner with a customer. An exemplarysoftware-based application as an agent is an online chat programdesigned to interpret customer inquiries and respond with pre-programmedanswers.

The contact center 100 further includes a contact center control system142 that is generally configured to provide recording, voice analysis,behavioral analysis, storage, and other processing functionality to thecontact center. In the illustrated embodiment, the contact centercontrol system 142 is an information handling system such as a computer,server, workstation, mainframe computer, or other suitable computingdevice. In other embodiments, the control system 142 may be a pluralityof communicatively coupled computing devices coordinated to provide theabove functionality for the contact center 100. The control system 142includes a processor 144 that is communicatively coupled to a systemmemory 146, a mass storage device 148, and a communication module 150.The processor 144 can be any custom made or commercially availableprocessor, a central processing unit (CPU), an auxiliary processor amongseveral processors associated with the control system 142, asemiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, a collection of communicatively coupledprocessors, or any device for executing software instructions. Thesystem memory 146 provides the processor 144 with non-transitory,computer-readable storage to facilitate execution of computerinstructions by the processor. Examples of system memory may includerandom access memory (RAM) devices such as dynamic RAM (DRAM),synchronous DRAM (SDRAM), solid state memory devices, and/or a varietyof other memory devices known in the art. Computer programs,instructions, and data, such as known voice prints, may be stored on themass storage device 148. Examples of mass storage devices may includehard discs, optical disks, magneto-optical discs, solid-state storagedevices, tape drives. CD-ROM drives, and/or a variety other mass storagedevices known in the art. Further, the mass storage device may beimplemented across one or more network-based storage systems, such as astorage area network (SAN). The communication module 150 is operable toreceive and transmit contact center-related data between local andremote networked systems and communicate information such as customerinteraction recordings between the other components coupled to the LAN132. Examples of communication modules may include Ethernet cards,802.11 WiFi devices, cellular data radios, and/or other suitable devicesknown in the art. The contact center control system 142 may furtherinclude any number of additional components, which are omitted forsimplicity, such as input and/or output (I/O) devices (or peripherals),buses, dedicated graphics controllers, storage controllers, buffers(caches), and drivers. Further, functionality described in associationwith the control system 142 may be implemented in software (e.g.,computer instructions), hardware (e.g., discrete logic circuits,application specific integrated circuit (ASIC) gates, programmable gatearrays, field programmable gate arrays (FPGAs), etc.), or a combinationof hardware and software.

According to one aspect of the present disclosure, the contact centercontrol system 142 is configured to record, collect, and analyzecustomer voice data and other structured and unstructured data, andother tools may be used in association therewith to increase efficiencyand efficacy of the contact center. As an aspect of this, the controlsystem 142 is operable to record unstructured interactions betweencustomers and agents occurring over different communication channelsincluding without limitation telephone conversations, email exchanges,website postings, social media communications, smartphone application(i.e., app) communications, fax messages, instant message conversations.For example, the control system 142 may include a hardware orsoftware-based recording server to capture the audio of a standard orVoIP telephone connection established between an agent workstation 140and an outside customer telephone system. Further, the audio from anunstructured telephone call or video conference session may betranscribed manually or automatically and stored in association with theoriginal audio or video. In one embodiment, multiple communicationchannels (i.e., multi-channel) may be used according to the invention,either in real-time to collect information, for evaluation, or both. Forexample, control system 142 can receive, evaluate, and store telephonecalls, emails, and fax messages. Thus, multi-channel can refer tomultiple channels of interaction data, or analysis using two or morechannels, depending on the context herein.

In addition to unstructured interaction data such as interactiontranscriptions, the control system 142 is configured to capturedstructured data related to customers, agents, and their interactions.For example, in one embodiment, a “cradle-to-grave” recording may beused to record all information related to a particular telephone callfrom the time the call enters the contact center to the later of: thecaller hanging up or the agent completing the transaction. All or aportion of the interactions during the call may be recorded, includinginteraction with an interactive voice response (IVR) system, time spenton hold, data keyed through the caller's key pad, conversations with theagent, and screens displayed by the agent at his/her station during thetransaction. Additionally, structured data associated with interactionswith specific customers may be collected and associated with eachcustomer, including without limitation the number and length of callsplaced to the contact center, call origination information, reasons forinteractions, outcome of interactions, average hold time, agent actionsduring interactions with customer, manager escalations during calls,types of social media interactions, number of distress events duringinteractions, survey results, and other interaction information. Inaddition to collecting interaction data associated with a customer, thecontrol system 142 is also operable to collect biographical profileinformation specific to a customer including without limitation customerphone number, account policy numbers, address, employment status,income, gender, race, age, education, nationality, ethnicity, maritalstatus, credit score, customer “value” data (i.e., customer tenure,money spent as customer, etc.), personality type (as determined by pastinteractions), and other relevant customer identification and biologicalinformation. The control system 142 may also collect agent-specificunstructured and structured data including without limitation agentpersonality type, gender, language skills, performance data (e.g.,customer retention rate, etc.), tenure and salary data, training level,average hold time during interactions, manager escalations, agentworkstation utilization, and any other agent data relevant to contactcenter performance. Additionally, one of ordinary skill in the art wouldrecognize that the types of data collected by the contact center controlsystem 142 that are identified above are simply examples and additionaland/or different interaction data, customer data, agent data, andtelephony data may be collected and processed by the control system 142.

The control system 142 may store recorded and collected interaction datain a database 152, including customer data and agent data. In certainembodiments, agent data, such as agent scores for dealing withcustomers, are updated daily.

The control system 142 may store recorded and collected interaction datain a database 152. The database 152 may be any type of reliable storagesolution such as a RAID)-based storage server, an array of hard disks, astorage area network of interconnected storage devices, an array of tapedrives, or some other scalable storage solution located either withinthe contact center or remotely located (i.e., in the cloud). Further, inother embodiments, the contact center control system 142 may have accessnot only to data collected within the contact center 100 but also datamade available by external sources such as a third party database 154.In certain embodiments, the control system 142 may query the third partydatabase for customer data such as credit reports, past transactiondata, and other structured and unstructured data.

Additionally, in some embodiments, an analytics system 160 may alsoperform some or all of the functionality ascribed to the contact centercontrol system 142 above. For instance, the analytics system 160 mayrecord telephone and internet-based interactions, perform behavioralanalyses, predict customer personalities or customer profiles, retrievepre-existing customer profiles, and perform other contact center-relatedcomputing tasks, as well as combinations thereof. The analytics system160 may be integrated into the contact center control system 142 as ahardware or software module and share its computing resources 144, 146,148, and 150, or it may be a separate computing system housed, forexample, in the analytics center 120 shown in FIG. 1. In the lattercase, the analytics system 160 includes its own processor andnon-transitory computer-readable storage medium (e.g., system memory,hard drive, etc.) on which to store predictive analytics software andother software instructions.

The multi-channel interaction data collected in the context of thecontrol center 100 may be subject to a linguistic-based psychologicalbehavioral model to assess the personality of customers and agentsassociated with the interactions. For example, such a behavioral modelmay be applied to the transcription of a telephone call, instant messageconversation, or email thread, between a customer and agent to gaininsight into why a specific outcome resulted from the interaction.

In one embodiment, interaction data is mined for behavioral signifiersassociated with a linguistic-based psychological behavioral model. Inparticular, the contact center control system 142 searches for andidentifies text-based keywords (i.e., behavioral signifiers) relevant toa predetermined psychological behavioral model. In a preferredembodiment, multi-channels are mined for such behavioral signifiers.

FIG. 3 illustrates an exemplary predictive routing system 300operatively associated with contact center 100. In one embodiment, partsor the whole of predictive routing system 300 is integrated into contactcenter 100. In another embodiment, parts or the whole of predictiverouting system 300 is operated separately from contact center 100, suchas by a processing/analytics company (i.e., in this unshown embodiment,the contact center 100 may be replaced with an analytics center 120 inwhole or in part), and predictive routing system 300 provides routingrecommendations to contact center 100. As shown, predictive routingsystem 300 includes database module 305, governor module 310, routingmodule 315, and analytics module 320.

As shown, database module 305 receives customer communication data fromcontact center 100, and independently predicts the profile of thecurrent customer and future customers. It should be understood, withreference to the guidance of the present disclosure, that a predictionof a profile of one or more future customers typically involves aprobability as to the likelihood of a future customer having a certaintype of particular profile, such as based on any one or more of theprofile variables discussed herein. For example, the profile of thefuture customer can be that of the probability of a male calling in thenext 2 minutes, or the probability of an emotion-based caller being thenext call to be received. The customer profile includes information suchas race, age, education, accent, income, nationality, ethnicity, areacode, zip code, marital status, job status, credit score, personalitytype, gender, distress level, task type, likelihood of purchase, contacttime, likelihood of attrition/account closure, and/or customersatisfaction.

The database module 305, in some embodiments, associates identifyingorigination data of the current customer with a prediction of what theprofile (e.g., personality type) the current customer is likely to be.Identifying origination data typically includes a contact number ornetwork address, or any combination thereof. The contact number mayinclude at least one of a telephone number, a text message number, shortmessage service (SMS) number, multimedia message service (MMS) number,or a combination thereof. The network address can include at least oneof an email address, electronic messaging address, voice over IPaddress, IP address, social media identifier (e.g., Facebook identifier,Twitter identifier, chat identifier), or a combination thereof. Theseidentifiers are associated with personality types based on thelinguistic model.

It is well known that certain psychological behavioral models have beendeveloped as tools to evaluate and understand how and/or why one personor a group of people interacts with another person or group of people.The Process Communication Model™ (“PCM”) developed by Dr. Taibi Kahleris a preferred example of one such behavioral model. Specifically, PCMpresupposes that all people fall primarily into one of six basicpersonality types: Reactor, Workaholic, Persister, Dreamer, Rebel andPromoter. Although each person is one of these six types, all peoplehave parts of all six types within them arranged like a “six-tierconfiguration.” Each of the six types learns differently, is motivateddifferently, communicates differently, and has a different sequence ofnegative behaviors in which they engage when they are in distress.Importantly each PCM personality type responds positively or negativelyto communications that include tones or messages commonly associatedwith another of the PCM personality types. Thus, an understanding of acommunicant's PCM personality type offers guidance as to an appropriateresponsive tone or message. Exemplary methods of applying apsychological behavioral model to contact center communications aredescribed in U.S. Pat. Nos. 7,995,717 and 8,094,803, and U.S. patentapplication Ser. No. 13/782,522, filed Mar. 1, 2013, entitled“Customer-Based Interaction Outcome Prediction Methods and System,” theentire contents of each of which is incorporated herein in its entiretyby express reference thereto.

The database module 305 contains the aggregated summary of scores acrossthe six personality types in a linguistic model and predicts whichpersonality type the customer is most likely to be. The aggregatedsummary of scores weighs certain communications differently to predictthe personality type of the customer in one embodiment. For example, ifthere are multiple calls from a single telephone number, more recentcalls are given more weight than older calls. Also, the time of day canbe taken into account to predict personality type of the customer ifmore than one personality type is associated with a single telephonenumber. For example, if the telephone number is associated with anemotions based customer during the day, and a thoughts based customer atnight, the database module 305 can return a customer personality typeprediction based on that pattern.

In one embodiment, the prediction of customer profile (e.g., based onpersonality type) is based on past calls or communications to thatcontact center and other organizations. For instance, the prediction canbe based on previous transactions between the customer and contactcenter, the answers to menu choices, past purchase history, past callinghistory, past survey responses, etc. These histories can be general,such as the customer's general history for purchasing products, averagecontact time with an agent, or average customer satisfaction ratings.This prediction can be created and/or stored in the database module 305from past interactions with the current customer.

The prediction of one or more profiles for one or more future customersis based, in one embodiment, on historical customer communications,which are analyzed to determine profile patterns. For example, dataregarding customer profiles (e.g., gender, task type, personality type,distress level, etc.) at specific times of the day and specific days ofthe week are aggregated and organized into a matrix. This data is usedto determine the probability that a customer with a certain profile willcontact the contact center 100 at a certain time, and the frequency thata customer with a certain profile will contact the contact center 100.In some embodiments, the profile prediction for one or more futurecustomers is made for a predetermined number of customers (e.g., thenext 10-15 customers), a predetermined amount of time (e.g., the next 30minutes), or both.

In some embodiments, the current customer is a repeat customer andalready has a customer profile associated with the identifyingorigination data that was stored. When the database module 305 receivesthe identifying origination data, it retrieves the pre-existing customerprofile so that it can be used in the next step. In other embodimentswhere no customer profile exists or it cannot be readily identified, thedatabase module 305 can predict the incoming customer profile forfurther use. In another embodiment, the predictive algorithm can beupdated based on a repeat customer profile identified and retrieved bythe database module 305.

In various embodiments, one or more copies of the database module 305may be housed close to or in the contact center 100 to decrease the timeneeded to transfer the information from the database module 305 to therouting module 315 (when the routing module 315 is integrated in contactcenter 100), and to help minimize router decision time. The original maybe stored at an analytics center or datafarm site. Because the databasemodule 305 is typically very large, the data should be carefullystructured so that the database module 305 can return results within avery short period of time, as the data returned from the database module305 is used to route the customer communication or task to an agent.When the original or a copy are stored near the contact center 100, thedatabase module 305 may be mirrored at the contact center 100 to improveresult times, and any copies may be updated periodically (e.g., weekly)with new customer data. In some embodiments, the database module 305 isupdated and copied out every night.

The governor module 310 monitors agent workload and stops assigningcustomer tasks to agents once agents have exceeded a predetermined workthreshold. This can be based on, e.g., legal requirements, such as amaximum permitted workweek, agent preference, determination of anoptimum maximum threshold beyond which performance degrades, or thelike, or any combination thereof. In some embodiments, governor module310 is in communication with an agent queue of contact center 100. Thegovernor module 310 calculates the amount of utilization time for eachagent, so that once agents have reached a predetermined work thresholdthey will be taken out of the queue for assignment by the routing module315 until their occupancy level drops below the predetermined workthreshold. In some embodiments, the utilization calculations are done inreal-time. “Utilization time,” as used herein, means the time agentsspend communicating with a customer and time spent doing additionalcustomer related tasks after the communication.

Occupancy level is calculated using the following equation:

Utilization time/logged in time.

When the governor module 310 is queried by the contact center 100 toreturn a list of currently available agents for an incoming customertask, agents that are above the predetermined work threshold areexcluded from the group considered for the task, and the remainingagents are ranked. In certain embodiments, the currently availableagents are ranked based on their proficiency for handling customers withthe pre-existing profile, predicted profile (e.g., personality type)and/or the type of task.

Exemplary aspects of agent proficiency include one or more of: agenteffectiveness (e.g., X % of customers serviced by agent have a favorableoutcome for the customer and/or contact center), revenue generatingproficiency (e.g., $Y generated by the agent per serviced customer),customer satisfaction level (e.g., Z % of customers serviced by agentreceived at least a satisfactory customer satisfaction level rating),speed (e.g., average customer service time for agent is Wminutes/contact, U % of customers are serviced within V minutes),efficiency (e.g., T % of customers serviced by agent are one-and-done),experience (e.g., number of months/years agent has serviced customers),cross-sell ability (e.g., S % of customers serviced by agent result inadditional revenue due to cross-selling), personal satisfaction (e.g.,the agent most prefers serving work items of skill X rather than workitems of skill Y), proficiency at closing a transaction, and occupancy(e.g., select the agent who has worked less over a specified period toservice a work item), or any combination thereof. Other data that canadditionally or alternatively be used in the embodiment above or variousalternative embodiments to determine agent proficiency include thetransaction or task type (e.g., catalog sale, information request,complaint, etc.), the time-of-day, the result (e.g., the type of sale,the number of units sold, revenue generated, service ticket closure orescalation, the information provided, etc.), a self-rating of theservicing agent respecting the agent's proficiency in handling thecustomer, the rating of the customer of the agent's proficiency inhandling the customer, the rating of another party, such as the agent'ssupervisor or another observer, of how the customer was serviced.Although only one exemplary metric has been provided for eachproficiency aspect, it is to be understood that each aspect can be acomposite of multiple different metrics. For example, the effectivenessof an agent can be a function of the percent of customers having asuccessful outcome, the average value realized for each customer, andthe average customer feedback score. Stated another way, it is possiblefor one proficiency aspect to be a function, at least in part, ofanother proficiency aspect.

In one embodiment, when all agents are working above the predeterminedwork threshold, a routing recommendation may not be provided. Instead, asupervisor or other authorized user may raise the predetermined workthreshold to a higher second predetermined work threshold. In certainembodiments, the authorized user has the ability to adjust the governormodule 310 at any time. A routing recommendation may then be providedbased on the higher second predetermined work threshold.

In another embodiment, the governor module 310 recognizes that allagents are above the occupancy level and continues to make routingrecommendations. The governor module 310 can automatically raise thepredetermined threshold to a higher second predetermined work thresholdthat is triggered when all agents are above the initial predeterminedwork threshold.

The governor module 310 dynamically determines occupancy rate in realtime, or near-real time. For example, near-real time may be necessitatedby communication delays between inputs from a contact center and receiptand processing by an analytics center, causing a delay, e.g., of about 1to 10 seconds. Once an agent's occupancy rate falls below the adaptedthreshold, that agent will be returned to the queue. For example, if thepredetermined work threshold is 75%, and an agent's occupancy level is85%, that agent will be taken out of the queue. Once the agent'soccupancy level is below 75%, the agent is placed back in the queue bythe governor module.

In various embodiments, the governor module 310 is integrated with acontact center's existing environment, communication distributorhardware, and software. The governor module 310 does not handle callcontrol or reserve agents, but informs the communication distributor ofa contact center which agents should be taken out of the queue. Thegovernor module 310 tracks agent utilization for all agents in the queueand measures agent availability and agent occupancy.

In certain embodiments, the governor module 310 allows the occupancylevel to be adjusted to a customized level that is called the “adaptedthreshold.” The industry standard is presently about an 80-85% adaptedthreshold for full utilization. The occupancy level customization forthe adapted threshold also allows occupancy to be attributed indifferent ways for different types of incoming customer tasks. Forexample, agents receiving complaint calls can have a different thresholdthan sales call agents. In addition, the threshold can be setdifferently based on agent skills and communication type, so that topquartile sales agents will be worked to 85% occupancy and the rest ofthe agents to 80% occupancy or some other lower occupancy. The thresholdmay also be set based on personality type, so that the governor module310 may use a different threshold if there is an 80% utilized agent, butis a top quartile thoughts-based agent.

The governor module 310 also monitors agents that are assistingcustomers and not currently available, i.e., “expected availableagents.” The governor module 310 determines when an agent is expected tobe available based on, for example, the task type, distress level ofcustomer, time already spent with the customer, expected time to finish,etc. This information is sent to the database module 305 so that agentdata (e.g., the expected available agent's proficiency at handlingcustomers) can be retrieved and analyzed, along with the profile offuture customers.

The routing module 315 matches incoming customer communications andtheir related customer personality profile with currently availableagents and expected available agents. The match-ups can be made basedon, for example, pre-existing customer profiles, the customer profileprediction, and information from an agent database that includes theagent's proficiency scores for handling customers with that personalityprofile. The match-ups can also be made based on a number of otherfactors, such as the type of task, the agent's training, and the agent'sworkload.

The routing module 315 reviews the predicted profile or pre-existingprofile of the current customer, the predicted profile of one or morefuture customer(s), an available agent's proficiency at handling acustomer with the predicted or pre-existing profile of the currentcustomer and a customer with the predicted profile(s) of the futurecustomer(s), and an expected available agent's proficiency at handling acustomer with the predicted or pre-existing profile of the currentcustomer and a customer with the predicted profile(s) of the futurecustomer(s). For example, assume the predicted or pre-existing profileof a current customer is a thoughts-based caller, and the predictedprofile of a future customer is an emotions-based caller. The currentlyavailable agent is proficient at handling an emotions-based caller, butnot a thoughts-based caller. An expected available agent, however, isproficient at handling both a thoughts-based caller and anemotions-based caller. Instead of routing the current customer to thecurrently available agent, the routing module 315 routes the currentcustomer to the expected available agent, which frees up the currentlyavailable agent for the future customer. In this way, the routing ofcustomer communications is optimized. This can advantageously permit atleast one future customer to receive a currently available agent who isbetter at communicating with, or resolving the concerns of, such futurecustomer than if the currently available agent is routed to a presentcustomer.

In various embodiments, the routing module 315 determines thevariability in the available agents' and expected available agents'proficiency at handling customers with the predicted or pre-existingprofiles. By “variability” is meant the difference in skill in handlingdifferent types of customers. For example, an agent that has a lowdegree of variability is typically highly desired and capable ofhandling customers with several different profiles, and an agent with ahigh degree of variability is capable of only handling customers withcertain profiles well but can only handle other types of customers verypoorly (based on past selected criteria). An agent that exhibits a lowdegree of variability is consistent across many different customerprofiles.

Depending on the situation, the routing module 315 will route thecustomer communication to the agent with a low degree of variability orsave this agent for a future customer. For instance, assume athoughts-based caller is the current customer, and the agent with a lowdegree of variability is available (e.g., capable of handling athought-based caller or an emotions-based caller with almost equalskill). An expected available agent has a high degree of variability, sohe or she is also capable of handling the thoughts-based caller, but notas well as an emotions-based caller. A future caller is predicted to bean emotions-based caller. The routing module 315 will save the agentwith the low degree of variability for the future caller with thepredicted profile that better matches the currently available agent, androute the current customer to the expected available agent. It should beunderstood that other customer profile or agent profile characteristicsdescribed herein may be used to select the current and/or futureprofiles and/or agent rankings or routing recommendations.

In one embodiment, routing module 315 is in communication with thecommunication distributor of the contact center. Routing module 315provides a routing recommendation to the communication distributor,which can then distribute the customer task to the best available agent.

In certain embodiments, the routing module 315 provides a route summaryincluding the number of routes produced, the number of times therecommended routes were adopted, and an estimate of the amount of moneysaved. In some embodiments, the routing module 315 provides real-timehourly and daily reporting. The reporting function of the routing module315 allows the contact center to see that the routing module 315 isactually providing routing recommendations for routing customercontacts, rather than having a default system (e.g., communicationdistributor of the contact center) route the customer contacts.

In other embodiments, the routing module 315 may include a simulatorthat shows simulated routing on top of the default system, so that thecontact center can compare the default system to the routing module 315.

Analytics module 320 analyzes customer-agent interaction during thecustomer task. If the task involves speaking or other forms ofvoice-based communication, snippets of that communication are sent to ananalytics server to analyze the task interaction as it is happening.This gives the agent more information about the customer and provides amore accurate secondary routing personality prediction so that, if thetask requires additional routing during the customer contact, therouting module 315 or an agent can use that information to providerouting recommendations regarding the best available agent. Informationthat may be determined by the analytics module 320 includes, withoutlimitation, personality type of the customer, engagement, state of mind,distress, life events, and purpose of contact/task.

An exemplary method 400 of optimizing the routing of customer tasks orcommunications will now be described with respect to FIG. 4. At step402, a customer communication or task is received at contact center 100.Again in FIG. 4, the contact center 100 in one embodiment may bereplaced by, or be associated with, an analytics center 120 as seen inFIG. 3. The communication type may include voice calls, voice over IP,facsimiles, emails, web page submissions, internet chat sessions,wireless messages (e.g., text messages such as SMS (short messagingsystem) messages or paper messages), short message service (SMS),multimedia message service (MMS), or social media (e.g., Facebookidentifier, Twitter identifier, etc.), IVR telephone sessions, voicemailmessages (including emailed voice attachments), or any combinationthereof.

The database module 305 then receives a request from the contact center100 including identifying origination data of the customer. At step 404,the database module 305 retrieves the pre-existing customer profile ofthe current customer (based on the identifying origination data), orpredicts the customer profile of the current customer and a futurecustomer. In one embodiment, the database module 305 associates theidentifying origination data with a prediction of the profile of thecurrent customer. The database module 305 accesses and retrievescustomer characteristics and scores and provides the governor module 310and routing module 315 with this information. In one embodiment, itprovides a prediction of the customer personality type. In anotherembodiment, it provides the customer personality type. In variousembodiments, the database module 305 predicts profiles of futurecustomers based on past customer communications to determine profilepatterns. By analyzing this data, the probability that another customerwill call, and the likelihood that a future customer will exhibit acertain profile (e.g., gender, personality type, task type, age, incomelevel, education, etc.) can be determined.

At step 406, the governor module 310 determines which agents arecurrently available and which agents are expected to be available. Inone embodiment, the currently available agents and expected availableagents are determined by reviewing the occupancy level of agents, e.g.,by obtaining agent data from the contact center 100. The governor module310 dynamically monitors occupancy level of the agents to determineavailability and addresses the real-time performance metrics of theagent. This real-time (or near-real time) dynamic data is typically usedto select a destination for the customer communication. Unlikeconventional sequential routing schemes, preference in this embodimentis based on both current and future customer information and agentavailability so that contact center performance is optimized, e.g.,while accounting for predicted agent workloads and skills. The routingrecommendation is based not only on current needs, but also onanticipated future needs.

The governor module 310 prepares a list of currently available agentsand expected available agents, and ranks the agents based on certainselected criteria, e.g., agent's proficiency in handling customers withthe predicted profiles and/or pre-existing profiles. Currently availableagents are those agents who have not exceeded a predetermined workthreshold. This list of currently available agents and expectedavailable agents is provided to routing module 315. The governor module310 also sends this list to the database module 305, which retrievesthese agents' proficiencies at handling customers with the predictedprofiles and/or pre-existing profiles.

At step 408, the routing module 315 provides a routing recommendationthat matches the customer communication to an agent (e.g., a currentlyavailable agent or an expected available agent). Based on the customerprofile prediction type, pre-existing customer profile type, currentlyavailable agents, expected available agents, agent data, task type(which may be from IVR), customer data, customer contact events,environmental events, etc., the routing module 315 provides thecommunication distributor of the contact center with an agent suited totake the customer communication. Agent data includes, but is not limitedto agent performance metrics, tenure, agent personality type analyticsscores, and other data about the agent. Customer data includes, but isnot limited to, customer ID, account history with the contact center,customer contact frequency or history (including prior instances ofdistress), and other relevant available customer attributes.

The routing module 315 may make routing decisions based on comparingvarious customer data and agent data, which may include, e.g.,performance based data, demographic data, psychographic data, and otherbusiness-relevant data. The routing module 315 assesses the skills ofagents to establish which agents possess the skills that are most neededfor the customer communication. Because the routing decision is focusedmostly on selection of the most proficient agent for the returningcustomer and/or predicted future customer seeking contact, the wait timeof customers may be increased. Thus, in various embodiments, the routingmodule 315 also considers the wait time in the routing decision and canseek to minimize this wait time, as well.

After the customer task is routed to an initial agent, the contactcenter 100 may create a text of the initial customer-agent interaction.The contact center 100 sends a text of the customer interaction to theanalytics server of analytic module 320, which will then returninformation regarding customer personality type to build an updatedprofile of the customer in near real-time. Alternatively, in an unshownembodiment, the analytics center 120 receives the initial customer-agentinteraction, or a text thereof, for processing by the analytics serverof analytic module 230. If the customer contact is a telephone call, theaudio of the call can be recorded, transmitted and analyzed. If thecustomer communication is already text based (on-line chat, email,social media contact, text message, etc.), then the text can be sentdirectly to the analytics module 320 and processed similarly. Forexample, the analytics server can analyze the extracted text to identifyone or more customer issues. These issues may require attention and berouted appropriately, or may be used to create a new prediction for thatcustomer that is stored in the national database or other appropriatedatabase.

The analytics server of the analytics module 320 may use the followinginputs to create the updated customer profile: text, linguisticalgorithms (distress, personality styles, life events, engagements),previously stored results, and the results of additional analytics addedto the profile, and any combination thereof. The analytics servercreates a profile of the customer progressively based on these smallsegments during the customer interaction. The updated customer profileis sent to the routing module 315, so that if the customer needs to betransferred to a second agent, the routing module 315 can use the newlyupdated profile of the customer to determine which available agents arethe best agents for the transfer.

The real-time (or near real-time) routing function of method 400 canoperate on both the initial agent assignment and possible secondarytransfer agent assignment. A communication distributor of a contactcenter assigns each incoming communication to the agent who is the bestmatch for the communications based on inputs from database module 305,the governor module 310, the routing module 315, and a databasecontaining agent personality information and customer personalityinformation. In some embodiments, inputs from the analytics module 320are also used.

Referring now to FIG. 5, illustrated is a block diagram of a system 500suitable for implementing embodiments of the present disclosure,including database module 305, governor module 310, routing module 315,and analytics module 320 depicted in FIG. 3. System 500, such as part acomputer and/or a network server, includes a bus 502 or othercommunication mechanism for communicating information, whichinterconnects subsystems and components, including one or more of aprocessing component 504 (e.g., processor, micro-controller, digitalsignal processor (DSP), etc.), a system memory component 506 (e.g.,RAM), a static storage component 508 (e.g., ROM), a network interfacecomponent 512, a display component 514 (or alternatively, an interfaceto an external display), an input component 516 (e.g. keypad orkeyboard), and a cursor control component 518 (e.g., a mouse pad).

In accordance with embodiments of the present disclosure, system 500performs specific operations by processor 504 executing one or moresequences of one or more instructions contained in system memorycomponent 506. Such instructions may be read into system memorycomponent 506 from another computer readable medium, such as staticstorage component 508. These may include instructions to retrieve apre-existing customer profile of a current customer, predict a customerprofile of a current and future customer, determine agents that arecurrently available and expected to be available, and provide a routingrecommendation based on these factors, etc. In other embodiments,hard-wired circuitry may be used in place of or in combination withsoftware instructions for implementation of one or more embodiments ofthe disclosure.

Logic may be encoded in a computer readable medium, which may refer toany medium that participates in providing instructions to processor 504for execution. Such a medium may take many forms, including but notlimited to, non-volatile media, volatile media, and transmission media.In various implementations, volatile media includes dynamic memory, suchas system memory component 506, and transmission media includes coaxialcables, copper wire, and fiber optics, including wires that comprise bus502. Memory may be used to store visual representations of the differentoptions for searching or auto-synchronizing. In one example,transmission media may take the form of acoustic or light waves, such asthose generated during radio wave and infrared data communications. Somecommon forms of computer readable media include, for example, RAM, PROM,EPROM, FLASH-EPROM, any other memory chip or cartridge, carrier wave, orany other medium from which a computer is adapted to read.

In various embodiments of the disclosure, execution of instructionsequences to practice the disclosure may be performed by system 500. Invarious other embodiments, a plurality of systems 500 coupled bycommunication link 520 (e.g., networks 102 or 104 of FIG. 1, LAN, WLAN,PTSN, or various other wired or wireless networks) may performinstruction sequences to practice the disclosure in coordination withone another. Computer system 500 may transmit and receive messages,data, information and instructions, including one or more programs(i.e., application code) through communication link 520 andcommunication interface 512. Received program code may be executed byprocessor 504 as received and/or stored in disk drive component 510 orsome other non-volatile storage component for execution.

In view of the present disclosure, it will be appreciated that variousmethods and systems have been described according to one or moreembodiments for routing incoming customer communications and tasks.

Where applicable, various embodiments provided by the present disclosuremay be implemented using hardware, software, or combinations of hardwareand software. Also where applicable, the various hardware componentsand/or software components set forth herein may be combined intocomposite components comprising software, hardware, and/or both withoutdeparting from the spirit of the present disclosure. Where applicable,the various hardware components and/or software components set forthherein may be separated into sub-components comprising software,hardware, or both without departing from the spirit of the presentdisclosure. In addition, where applicable, it is contemplated thatsoftware components may be implemented as hardware components, andvice-versa.

Software in accordance with the present disclosure, such as program codeand/or data, may be stored on one or more computer readable mediums. Itis also contemplated that software identified herein may be implementedusing one or more general purpose or specific purpose computers and/orcomputer systems, networked and/or otherwise. Where applicable, theordering of various steps described herein may be changed, combined intocomposite steps, and/or separated into sub-steps to provide featuresdescribed herein.

The foregoing outlines features of several embodiments so that a personof ordinary skill in the art may better understand the aspects of thepresent disclosure. Such features may be replaced by any one of numerousequivalent alternatives, only some of which are disclosed herein. One ofordinary skill in the art should appreciate that they may readily usethe present disclosure as a basis for designing or modifying otherprocesses and structures for carrying out the same purposes and/orachieving the same advantages of the embodiments introduced herein. Oneof ordinary skill in the art should also realize that such equivalentconstructions do not depart from the spirit and scope of the presentdisclosure, and that they may make various changes, substitutions andalterations herein without departing from the spirit and scope of thepresent disclosure.

The Abstract at the end of this disclosure is provided to comply with 37C.F.R. §1.72(b) to allow a quick determination of the nature of thetechnical disclosure. It is submitted with the understanding that itwill not be used to interpret or limit the scope or meaning of theclaims.

What is claimed is:
 1. A system adapted to optimize the routing ofincoming customer communications, comprising a node comprising aprocessor and a non-transitory computer readable medium operably coupledthereto, the non-transitory computer readable medium comprising aplurality of instructions stored in association therewith that areaccessible to, and executable by, the processor, where the plurality ofinstructions comprises: instructions that, when executed, receive acustomer communication; instructions that, when executed, retrieve orpredict a first profile comprising a demographic profile of a customerassociated with the customer communication, and predict a second profilecomprising a demographic profile of a future customer; instructionsthat, when executed, return a list of currently available agents andexpected available agents, wherein the currently available agentsexclude agents that exceed a predetermined work threshold; andinstructions that, when executed, provide a routing recommendation basedon the retrieved and/or predicted customer profiles, and currentlyavailable agents' and expected available agents' proficiency at handlingcustomers with the retrieved and/or predicted profiles.
 2. The system ofclaim 1, wherein the retrieved and predicted customer profiles eachfurther comprise one or more of a personality type, task type,likelihood of purchase, contact time, likelihood of attrition or accountclosure, and/or customer satisfaction.
 3. The system of claim 1, whereinthe instructions that, when executed, predict the first and secondprofiles comprise instructions that, when executed, analyze historicalcustomer communications to determine profile patterns.
 4. The system ofclaim 3, wherein the instructions that, when executed, analyzehistorical customer communications comprise instructions that, whenexecuted, estimate a frequency that a communication from a customer witha pre-selected second profile will be received.
 5. The system of claim1, wherein the instructions that, when executed, predict the first andsecond profiles comprise instructions that, when executed, determine asecond profile based on a predetermined number of customers or forfuture customers over a predetermined amount of time, or a combinationthereof.
 6. The system of claim 1, which further comprises instructionsthat, when executed determine variability in the currently availableagents' and expected available agents' proficiency at handling customerswith the retrieved and/or predicted first and second profiles.
 7. Thesystem of claim 1, wherein, if a currently available agent is proficientat handling a current customer and an expected future customer, and anexpected available agent is proficient at handling a current customerand is not as proficient at handling the expected future customer, thenthe instructions that, when executed, provide the routing recommendationrecommend routing the current customer to the expected available agent.8. A system for optimizing the routing of incoming customercommunications, comprising: a storage device storing a computer readableprogram; and a processor executing the computer readable programcomprising: a database to retrieve a first profile comprising ademographic profile of a current customer or predict the first profilecomprising a demographic profile of a current customer, and predict asecond profile comprising a demographic profile of a future customer; agovernor processor to rank currently available agents and expectedavailable agents based on their proficiency at handling customers withthe retrieved or predicted profiles, wherein the currently availableagents exclude agents that exceed a predetermined work threshold; and arouting apparatus to match customer communications to agents based onthe retrieved or predicted first profile of the current customer and thesecond profile of the future customer, and the rankings of the currentlyavailable agents and the expected available agents.
 9. The system ofclaim 8, further comprising an analytics processor to analyze real-timeinteraction between an agent and customer.
 10. An analytics centercomprising the system of claim
 8. 11. A method to optimize routingincoming customer communications, which comprises: receiving, by one ormore processors, a customer communication; retrieving or predicting, byone or more processors, a first demographic profile of the customerassociated with the customer communication; predicting, by one or moreprocessors, a second demographic profile of a future customer;determining, by one or more processors, which agents are currentlyavailable and which agents are expected to be available; and providing,by one or more processors, a routing recommendation based on the firstand second demographic profiles retrieved and/or predicted, and thecurrently available agents' and expected available agents' proficiencyat handling customers with the retrieved and/or predicted personalitytypes.
 12. The method of claim 11, which further comprises retrieving orpredicting one or more of personality type, task type, likelihood ofpurchase, contact time, likelihood of attrition or account closure, andcustomer satisfaction for the customer and the future customer.
 13. Themethod of claim 11, wherein predicting the first and second demographicprofiles comprises analyzing historical customer communications todetermine profile patterns.
 14. The method of claim 13, whereinpredicting the second demographic profile comprises estimating afrequency that a communication from a customer with a pre-selecteddemographic profile will be received.
 15. The method of claim 11,wherein predicting the second demographic profile comprises aggregatingdata regarding the demographic profile at certain times and organizingthe data into a matrix.
 16. The method of claim 11, wherein predictingthe second demographic profile of the future customer comprisesdetermining the demographic profiles of a predetermined number ofcustomers, determining the demographic profiles of future customers overa predetermined amount of time, or a combination thereof.
 17. The methodof claim 11, which further comprises determining variability in thecurrently available agents' and expected available agents' proficiencyat handling customers.
 18. The method of claim 11, wherein, if acurrently available agent is proficient at handling a current customerand an expected future customer, and an expected available agent isproficient at handling a current customer and is not as proficient athandling the expected future customer, then providing a routingrecommendation includes recommending the expected available agent tohandle the current customer.
 19. The method of claim 11, wherein theproficiency of handling customers with a retrieved and/or predicteddemographic profile is independently determined for the currentlyavailable agent and the expected available agent by a method comprising:independently ranking an overall proficiency of the currently availableand expected available agents for the future customer based on thefuture customer's predicted demographic profile, and selecting thecurrently available agent or expected available agent having the lowervariability relative to the other to reserve for a future customer. 20.A non-transitory computer readable medium comprising a plurality ofinstructions comprising: instructions that, when executed, receive acustomer task; instructions that, when executed, retrieve a firstprofile comprising a demographic profile of the customer associated withthe customer task based on identifying origination data and predict asecond profile comprising a demographic profile of a future customerbased on historical customer communications; instructions that, whenexecuted, determine which agents are currently available and whichagents are expected to be available; and instructions that, whenexecuted, provide a recommendation that directs the customer task to anagent based on the first and second profiles of the current customer andfuture customer, and the currently available agents' and expectedavailable agents' proficiency at handling customers with the first andsecond profiles.
 21. The non-transitory computer readable medium ofclaim 20, wherein the customer task comprises one or more of taking anorder, making a sale, and responding to a complaint.
 22. Thenon-transitory computer readable medium of claim 20, further comprisinginstructions that, when executed, collect data associated with thecustomer task and associate it with a specific customer.
 23. Thenon-transitory computer readable medium of claim 22, wherein thecollected data comprises one or more of the number and length of callsplaced, call origination information, reasons for interactions, outcomeof interactions, average hold time, agent actions during interactionswith a customer, manager escalations during calls, types of social mediainteractions, number of distress events during interactions, and surveyresults.
 24. The non-transitory computer readable medium of claim 20,wherein the identifying origination data comprises one or more atelephone number, a text message number, short message service (SMS)number, multimedia message service (MMS) number, email address,electronic messaging address, voice over IP address, IP address, andsocial media identifier.
 25. The non-transitory computer readable mediumof claim 20, wherein the agent proficiency comprises one or more ofagent effectiveness, revenue generating proficiency, customersatisfaction level, speed, efficiency, experience, cross-sell ability,personal satisfaction, proficiency at closing a transaction, andoccupancy.
 26. The non-transitory computer readable medium of claim 20,wherein the agent proficiency is determined based on one or more of atransaction or task type, time of day of a transaction, result of atransaction, a self-rating of an agent, a rating of a customer, and arating of an agent's supervisor or other observer.
 27. Thenon-transitory computer readable medium of claim 20, wherein thedemographic profile comprises one or more of a customer address,customer gender, customer race, customer age, customer education,customer nationality, customer ethnicity, customer marital status,customer credit score, customer phone number, customer account or policynumber, customer employment status, customer income, or customer valuedata.